package managedbeans;

import java.util.Calendar;
import java.util.List;

import javax.faces.bean.ManagedBean;

import comum.Situacao;
import fachada.Fachada;
import fachada.IFachada;
import basicas.Marca;
import basicas.Modelo;

@ManagedBean
public class ModeloBean {

	private IFachada fachada = Fachada.getInstancia();
	
	private Modelo modelo = new Modelo();
	private Situacao[] situacao;
	private List<Marca> colecaoMarcas;
	private Integer marcaSelecionada;
	
	

	public Integer getMarcaSelecionada() {
		return marcaSelecionada;
	}
	public void setMarcaSelecionada(Integer marcaSelecionada) {
		this.marcaSelecionada = marcaSelecionada;
	}
	public Modelo getModelo() {
		return modelo;
	}
	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}
	public Situacao[] getSituacao() {
		return Situacao.values();
	}
	
	public List<Marca> getColecaoMarcas() {
		return fachada.consultarMarcas();
	}
	
	public List<Modelo> getColecaoModelos() {
		return fachada.consultarTodosModelo();
	}
	
	public String salvar(){
	
		modelo.setMarca(fachada.consultarMarcasPorId(marcaSelecionada));
		
		if (modelo.getCodigo() == null || modelo.getCodigo() == 0){
		
			modelo.setCodigo(null);
		
			fachada.inserir(modelo);
		}else{
	

			fachada.alterar(modelo);
		}
		return "/modelo/modelo-listar.xhtml";
	}
	
	public String editar(Modelo m){
		this.marcaSelecionada = m.getMarca().getCodigo();
		this.modelo = m;
		return "/modelo/modelo-inserir.xhtml";
	}
	
	public String excluir(Modelo m){
		fachada.remover(m);;
		
		return "/modelo/modelo-listar.xhtml";
	}
	
	public List<Modelo> getConsultarModeloPorNome(String modelo){
		return fachada.consultarModeloPorNome(modelo);
	}
	
}
